A piconet is a wireless ad hoc data communication system, which allows a number of data devices (nodes) as members to communicate with each other. A piconet distinguishes itself from other types of data networks in that communications of a node are normally confined to about 10 meters in all directions, whether the node is stationary or in motion. Typical piconets overlap so that they create a logical communication backbone underpinned by the physical radio connections that exist between devices in the various piconets. All piconets must have a single piconet controller (PNC), or coordinator in each piconet. This coordinator is responsible for timing synchronization of the devices within its piconet, for assigning unique network addresses, for routing messages, for broadcasting device discovery and service discovery information, and possibly for power control.
In such piconet communication systems, it has become desirable for a given node to determine which neighboring nodes are within its transmission range. Such knowledge aids in determining location information for a given node. At the same time, knowing one's neighbors is necessary for routing/relaying data and control messages.
While determining neighboring devices within a piconet is desirable, there currently exists no method for determining which nodes are within communication range of each other, including those nodes that are not part of a given node's piconet. At most, a given node can poll its coordinating device and determine those nodes in communication range (“ear shot”) with that coordinating device, but such information does not ensure that a given node is within range of any particular node under the coordinator. Therefore, a need exists for a method and apparatus for discovering neighbor nodes within such piconet communication systems.